#ifndef __FV_USER_API_H
#define __FV_USER_API_H


#ifdef __cplusplus
extern "C" {
#endif
  extern void fv_assume(int);
  extern void fv_assert(int);

  extern int fv_hasConcreteValue(unsigned long long);
  extern void fv_print(unsigned long long);
  extern void fv_watch(unsigned long long);
  extern void fv_printState();
  extern int fv_hint(int);
  extern unsigned int fv_getBufferSize(const void*);
  extern unsigned long fv_getAllocationSize();
  extern void fv_beginAtomicBlock();
  extern void fv_endAtomicBlock();

  extern unsigned char nondet_uchar();
  extern unsigned short nondet_ushort();
  extern unsigned int nondet_uint();
  extern unsigned long nondet_ulong();
  extern signed char nondet_char();
  extern signed short nondet_short();
  extern signed int nondet_int();
  extern signed long nondet_long();  
#ifdef __cplusplus
}
#endif

#endif // __FV_USER_API_H
